Method and device for recording real-time information

ABSTRACT

A device for rendering real time information arranged in cells constituted by units encoded at a variable bit rate, e.g. video on a DVD, is described. The device has various trick play modes for rendering the information at a different speeds based on speed pointers. A limited amount of speed pointers is included in the information stream. The device has a calculation unit  32  for calculating further speed pointers based on estimating the playback time of the units by retrieving cell playback information (C-PBIT) that includes the addresses of the first unit and the last unit within the cell and a cell playback time, retrieving a unit address map (VTS-VOBU-ADMAP) that includes the addresses of the units, determining a number of units within the cell by determining a position of said first and last unit in the unit address map, and dividing the cell playback time by the number of units.

The invention relates to a device for rendering real time informationfrom a record carrier, which device comprises read means for retrievingthe real time information and playback parameters related thereto from atrack on the record carrier, and speed means for rendering the real timeinformation at a speed different from the real time speed based on speedpointers, which real time information is subdivided into units, a numberof consecutive units constituting a cell and local playback parametersbeing included in the units, which local playback parameters comprisespeed pointers to units located at a forward and/or backward distancerelative to the unit in which the pointers are included.

The invention further relates to a method of rendering real timeinformation, which method comprises controlling the speed of renderingthe real time information to a speed different from the real time speedbased on speed pointers, which real time information comprises playbackparameters related thereto and is subdivided into units, a number ofconsecutive units constituting a cell and local playback parametersbeing included in the units, which local playback parameters comprisespeed pointers to units located at a forward and/or backward distancerelative to the unit in which the pointers are included.

The invention further relates to a computer program product forrendering real time information.

A device for retrieving real-time information from a record carrier isknown from WO 00/30113. Real-time information is information having areal-time nature to be reproduced at a prescribed rate, usually audio orvideo information, or a combination of audio and video. In the knownmethod video information is encoded digitally and subdivided into units,which are short, but independently reproducible segments of thereal-time information, while corresponding audio information may beincluded in the units. Control information for accessing and reproducingthe real-time material is generated for enabling several playbackfunctions. A user playable program usually called a title, for example amovie, is constituted by a sequence of cells, where a cell comprises asequence of units and corresponding control information. Part of thecontrol information, so called playback parameters, are included in theunits to enable playback control by using information stored with therelated real-time information itself, which reduces the need for memoryin the player for storing control information read from separate tables,such as address lists of units. In particular, the playback parameterscomprise speed pointers pointing to units located at a distance inforward or backward direction, usually at fixed intervals in playbacktime. As the units are stored on the record carrier consecutively, saiddistance corresponds to a distance along the track between the unitcomprising said pointers and such forward and backward units. In theevent of a variable bitrate real-time signal, e.g. video aftercompression by MPEG2, no fixed relation exists between the distance intime and the distance along the track. Also other data, e.g. in theevent of multiplexed audio, video and text, may cause a non predictabledistance along the track. So said local pointers are used in jumps toother units relative to the unit just read. The user may play the movieat standard speed reading the units consecutively, but he may also scanthe material in different speed modes or trick play modes, e.g. fastforward or reverse slow motion, using the playback parameters in theunits pointing in forward and/or backward direction. The way the controlinformation and the real-time information are provided on a recordcarrier is standardized to enable players of different brands toreproduce the material. An example of such a standard is the DVD-videostandard. Further details about the DVD disc can be found in reference:ECMA-267: 120 mm DVD—Read-Only Disc—(1997). During real-time recordingin a consumer recording device only a limited number of said local speedpointers can be calculated and are included in the units, e.g. pointersfor at most 3 seconds in forward direction. Further at the boundary of acell only a limited number of pointers is available. The rendering ofthe video information at a higher speed requires speed pointers to unitsat larger distances which are not available. Hence the range of speedsfor smoothly rendering the video information is limited.

It is an object of the invention to provide a device and method forsmoothly rendering information at a speed different from the real timespeed for a large range of speeds.

For this purpose, the device as described in the opening paragraph ischaracterized in that the speed means comprise calculation means forcalculating at least one further speed pointer based on estimating theplayback time of the units by retrieving cell playback information thatincludes the addresses of the first unit and the last unit within thecell and a cell playback time, retrieving a unit address map thatincludes the addresses of a consecutive sequence of units, determining anumber of units within the cell by determining a position of theaddresses of said first and last unit in the unit address map, anddividing the cell playback time by the number of units. The method asdescribed in the opening paragraph is characterized in that the methodcomprises calculating at least one further speed pointer based onestimating the playback time of the units by retrieving cell playbackinformation that includes the addresses of the first unit and the lastunit within the cell and a cell playback time, retrieving a unit addressmap that includes the addresses of a consecutive sequence of units,determining a number of units within the cell by determining a positionof the addresses of said first and last unit in the unit address map,and dividing the cell playback time by the number of units. This has theeffect that speed pointers for a required range of distances can becalculated by retrieving the cell playback information and unit addressmap for a required amount of real time data which is to be reproduced ata different speed. Hence a smooth rendering is achieved across a largerange of reproduction speeds.

The invention is also based on the following recognition. The real timeinformation is compressed at a variable bit rate, and hence the unitscomprise a variable amount of real time information. Nevertheless theinventor has seen that the estimated unit playback time can besufficiently close to the actual playback time for the followingreasons. The range of playback time allowed for a unit is usuallylimited by the recording standard, e.g. to between 0.4 and 1.0 secondsfor DVD. Further home recorders tend to use fixed sizes for encoding anamount of video frames, e.g. for the GOP (Group of Pictures) in MPEG2,and such amounts of frames are aligned with the units. Further users arenot very sensitive to varying speed differences at higher reproductionspeeds, because there is a decreased correlation between picturesdisplayed in such a sequence. Also the inventor has seen that althoughan error in time and speed may occur within a cell, such error will bereduced around the cell boundary because the boundary acts as acalibration point in the estimated speed pointer values.

In an embodiment of the device the speed means are arranged for usingthe speed pointers included in the local playback parameters for jumpingto distances in time up to a predefined value and for using the furtherspeed pointer for jumping a larger distance in time. In anotherembodiment of the device the speed means comprise means for detectingfor which maximum local jump distance a local speed pointer is availableand using the local speed pointers for jumping distances up to themaximum local jump distance. This has the advantage that for the lowerspeed reproduction the speed corresponds to the required speed becausethe speed pointers in the local playback parameters are calculatedduring recording, whereas larger speeds are closely approximated basedon the estimated values of the speed pointers.

In an embodiment of the device the speed means comprise means fordetecting a speed error by comparing a current cell time from the unitbeing retrieved after a jump and a target time based on a requiredspeed, and for compensating the speed error. This has the advantage,that the average error in the speed of reproduction will be effectivelyreduced by introducing an appropriate opposite increase or reduction inthe target speed.

Further preferred embodiments of the method and device according to theinvention are given in the dependent claims.

These and other aspects of the invention will be apparent from andelucidated further with reference to the embodiments described by way ofexample in the following description and with reference to theaccompanying drawings, in which

FIG. 1 shows a record carrier,

FIG. 2 shows a rendering device,

FIG. 3 shows volume space on an optical disk,

FIG. 4 shows the structures of the video manager and the video titlesets in more detail,

FIG. 5 shows a relationship between video object set and cells and thecontents of the cells hierarchically,

FIG. 6 shows a diagram of controlling the sequence of playback of thecells by a program chain,

FIG. 7 shows a relationship between a video object unit and video packsin the unit,

FIG. 8 shows video title set information in a video title set,

FIG. 9 shows the contents of a video title set program chain informationtable,

FIG. 10 shows the structure, of program chain information,

FIG. 11 shows cell playback information and the contents thereof,

FIG. 12 shows the contents of a cell position information table,

FIG. 13 shows the formats of a pack and a packet recorded on an opticaldisk,

FIG. 14 shows an NV_PCK pack,

FIG. 15 shows information described in the data search generalinformation,

FIG. 16 shows information described in the seamless playbackinformation,

FIG. 17 shows the contents of the seamless angle information,

FIG. 18 shows the VOBU search information, and

FIG. 19 shows the calculation of average time per unit.

Corresponding elements in different Figures have identical referencenumerals.

FIG. 1 a shows a disc-shaped record carrier 11 having a track 19 and acentral hole 10. The track 19 is arranged in accordance with a spiralpattern of turns constituting substantially parallel tracks on aninformation layer. The record carrier may be optically readable, calledan optical disc, and has an information layer of a read-only type, e.g.like DVD-video, or a recordable type. Examples of a recordable disc arethe CD-R and CD-RW, and writable versions of DVD, such as DVD-RAM andDVD+RW. The track 19 on the recordable type of record carrier isindicated by a pre-embossed track structure provided during manufactureof the blank record carrier. The track structure is constituted, forexample, by a pregroove 14 which enables a read/write head to follow thetrack during scanning. The information is represented on the informationlayer by optically detectable marks provided along the track, e.g. pitsand lands, or areas with a reflection coefficient different from theirsurroundings, obtained when recording in materials such as dye, alloy orphase change material, or in the form of areas with a direction ofmagnetization different from their surroundings, obtained when recordingin magneto-optical material.

FIG. 1 b is a cross-section taken along the line b-b of the recordcarrier 11 of the recordable type, in which a transparent substrate 15is provided with a recording layer 16 and a protective layer 17. Thepregroove 14 may be implemented as an indentation or an elevation, or asa material property deviating from its surroundings.

The record carrier 11 is intended for carrying real-time informationaccording to a standardized format, to be playable on standardizedplayback devices. The recording format includes the way information isrecorded, encoded and logically mapped. The logical mapping may comprisea subdivision of the available area in a lead-in, a recording area foruser data and a lead-out. Further the mapping may comprise filemanagement information for retrieving the user information, such as aTable Of Contents or a file system, e.g. ISO 9660 for CD-ROM or UDF forDVD-ROM. Such file management information is mapped on a predefinedlocation on the record carrier, usually in or directly after the lead-inarea. However this document further relates to the way the real-timeinformation is structured and retrieved by defining the format of thevideo and/or audio information and its corresponding controlinformation. In particular the real time information is reproduced at aspeed different from the real time speed by using speed pointers. Theprocess of calculating additional speed pointers is described below withreference to FIG. 19.

FIG. 2 shows a rendering device for reading real time information from arecord carrier 11 as shown in FIG. 1. The device is provided with adrive unit 21 for rotating the record carrier 11, and with read meansincluding a read head 22 for scanning the track 19 on the recordcarrier, a read unit 27, a deformatter 28 and a decoder 29. Writing andreading of information for recording on optical disks and usableformatting, error correcting and channel coding rules are well-known inthe art, e.g. from the CD or DVD system. The apparatus is provided witha positioning unit 25 for coarsely positioning the read head 22 on thetrack in the radial direction (perpendicular to the length direction ofthe track). The read head 22 comprises an optical system of a known typefor generating a radiation beam 24 guided through optical elements andfocused to a radiation spot 23 on a track of the information layer ofthe record carrier. The radiation beam 24 is generated by a radiationsource, e.g. a laser diode. The read head further comprises a focusingactuator for moving the focus of the radiation beam 24 along the opticalaxis of said beam and a tracking actuator for fine positioning of thespot 23 in a radial direction on the center of the track. The trackingactuator may comprise for example coils for radially moving an opticalelement or a piezo element for changing the angle of a reflectingelement with respect to the optical axis of the beam 24. The radiationreflected by the information layer is detected by a detector of a usualtype, e.g. a four-quadrant diode, in the read head 22 for generating aread signal and further detector signals including a tracking error anda focusing error signal, which signals are processed and applied to saidtracking and focusing actuators. The read unit 27 is of a usual type forexample comprising a channel decoder and an error correction unit forretrieving the information from the read signal. The information iscoupled to the deformatter 28 for storing the information and retrievingthe control parameters and various data types included in the real timeinformation as recorded on the record carrier according to thepredefined format as described below with reference to FIGS. 3 to 18.The deformatted information from the deformatter 28 is coupled to thedecoder 29, which decoder has one or more decoding units for decodingreal time information, e.g. video and/or audio according to the DVDstandard. The device is further provided with a control unit 20 forreceiving commands from a user or from a host computer for controllingthe apparatus via control lines 26, e.g. a system bus, connected to thedrive unit 21, the positioning unit 25 and the read means. To this end,the control unit 20 comprises control circuitry, for example amicroprocessor, a program memory and control gates, for performing theusual control procedures. The control unit 20 may also be implemented asa state machine in logic circuits. In an embodiment the device isprovided with a display unit (not shown) coupled to the decoder 29 fordisplaying the video to a user, e.g. a portable playback device. It isto be noted, that the real time information stream as recorded comprisesunits of data, e.g. the VOBUs as described for DVD below, which comprisethe real-time information and playback parameters.

The control unit 20 is provided with a speed control unit 31 forcontrolling the speed of reproduction of the real time information, e.g.a fast forward or backward playback mode. In an embodiment the speedcontrol unit also executes time search, which is performed for examplein a repeat mode wherein the player searches for the unit with theindicated time using the forward references. Suppose a cell is 120seconds and the maximum reference to the next unit is 3 seconds, thenfinding the required unit costs on average 20 disc accesses and worstcase 39 disc accesses in a practical device. The fact that no speedpointer to a unit at the required distance are available costs a lot oftime for the user, assuming a speed of 4 disc accesses per second. In anembodiment the speed control unit is implemented as a computer programfor programming a general purpose computer, which computer retrieves thereal time information from a medium via a peripheral device, e.g. aDVD-ROM drive, or gets the information via a network like the internet.For executing the different speed modes of reproduction the speedcontrol unit retrieves speed pointers from the record carrier. Anexample of pointers which indicate the location of units of videoinformation in forward or backward direction is described below withreference to FIG. 18. Such local speed pointers are included in thestream of video information. The structure describes the start addressof VOBUs presented 0.5*n second in the forward and backward direction.However the pointers do not go outside the cell boundary. If a VOBU doesnot exist then a value of 3F FF FF FF is filled in to indicate that theVOBU does not exist in this place. For example for executing a 32× fastforward speed and showing video fragments of 0.3 to 0.4 seconds, andthen a jump has to be made about 10 seconds forwards, indicated bypointer FWDI_20. However, this local speed pointer may not exist in thelocal pointers, e.g. because a recording has been made in a home videorecorder which cannot calculate forward pointers for more than itsbuffer size, e.g. 3 seconds of video, or because the video does notexist within the current cell. For calculating further speed pointersthe speed unit 31 comprises a calculation unit 32 cooperating with thespeed control unit, e.g. a specific part of the software for programmingthe processing unit. The additional speed pointers are calculated basedon estimating the playback time of the units in the real timeinformation in the area to be reproduced at a different speed asdescribed with reference to FIG. 19.

In embodiment of the device the speed unit is arranged for using thespeed pointers included in the local playback parameters for jumping todistances in time up to a predefined value and for using the furtherspeed pointer for jumping a larger distance in time. The predefinedvalue is 3 seconds in a practical device, as in most recording localspeed pointers are available at least up to this value. In an embodimentthe speed means are arranged for detecting for which maximum local jumpdistance a local speed pointer is available and using the local speedpointers for jumping distances up to the maximum local jump distance.The speed means retrieve the local speed pointers embedded in the streamand detect which pointers point to actual video units, e.g. by detectinga video exist status bit or a default value indicating that the pointerfor a specific required time jump is not valid, e.g. 3F FF FF FF asdescribed above.

In an embodiment of the device the speed unit is arranged for using thespeed pointers included in the local playback parameters for jumping upto a cell boundary and for using the further speed pointer that havebeen calculated for jumping a distance in time across said cellboundary. The cell boundary can be derived from the cell playbackinformation as described below.

FIG. 3 shows volume space on the optical disk 11. As shown in FIG. 3,the volume space consists of a volume and file configuration zone, aDVD-video zone, and other zones. In the volume and file configurationzone control data is recorded according to a configuration format (e.g.UDF Universal Disk Format Specification Revision 1.02), the data ofwhich can be read by any computer that meets a predetermined standard.The DVD-video zone has a video manager (VMG) and a video title set(VTS). The video manager (VMG) and the video title set (VTS) eachconsist of multiple files. The video manager (VMG) is information forcontrolling the video title set (VTS).

In FIG. 4 shows the structures of the video manager (VMG) and the videotitle set (VTS) in more detail. The video manager (VMG) has videomanager information (VMGI) as control data and a video object set(VMGM_VOBS) as data for menu display. Also, backup video managerinformation (VMGI_BUP) that is identical in content to the VMGI isincluded. The video title set (VTS) contains video title set information(VTSI) as control data, optionally a video object set (VTSM_VOBS) asdata for menu display, and a video object set (VTSTT_VOBS) for the titleof a video title set that is a video object set for video display. Also,backup video title set information (VTSI_BUP) that is identical incontent to the VTSI is included. The video object set (VTSTT_VOBS) forvideo display is made up by multiple cells. Each cell is assigned a cellidentification number.

FIG. 5 shows a relationship between the video object set (VOBS) and thecells and the contents of the cells hierarchically. When DVD playbackprocessing is performed, video breaks (scene changes, angle changes,story changes, etc.) and special playback are handled in units of cells(Cell), or in units of video object units (VOBU) that are in a layerbelow the cells, or in units of interleaved units (ILVU). First, thevideo object set (VOBS) comprises multiple video objects (VOB_IDN1 toVOB_IDNi). Moreover, one video object comprises multiple cells (C_DN1 toC_IDNj). Furthermore, one cell (cell) comprises multiple video objectunits (VOBU) or interleaved units that are described later. One videoobject unit (VOBU) comprises one navigation pack (NV_PCK), multipleaudio packs (A_PCK), multiple video packs (V_PCK), and multiplesubpicture packs (SP_PCK). The navigation pack (NV_PCK) is mainly usedas control data for control of reproduced display of data in the videoobject unit to which it belongs and control data for search for data inthe video object unit. The video pack (V_PCK) is main video information,which is compressed in accordance with the MPEG2 standard or the like.The subpicture pack (SP_PCK) is sub video information having contentsthat are auxiliary to main video, such as subtitles. The audio pack(A_PCK) is sound information.

FIG. 6 shows a diagram of controlling the sequence of playback of thecells (Cells) by a program chain (PGC). As the program chain (PGC),various program chains (PGC#1, PGC#2, PGC#3, . . . ) are prepared so asto allow the order of playback of data cells to be set variously.Therefore, the order of playback of cells will be set by making a choiceamong the program chains. An example in which program #1 to program #ndescribed by program chain information (PGCI) are executed is shown. Theprogram shown has the contents to specify a cell specified by(VOB_IDN#s, C_IDN#1) and subsequent cells within the video object set(VOBS) in turn. The program chain, recorded on the managementinformation recording area of the optical disk, is information that isread prior to the reading of the video title set of the optical disk andthen stored in the memory in the system controller. The managementinformation is placed at the beginning of the video manager and eachvideo title set.

FIG. 7 shows a relationship between a video object unit (VOBU) and videopacks in it. Video data in VOBU comprises one or more GOPs (GOP=Group OfPictures). Encoded video data conforms to MPEG2 (ISO/IEC13818-2) by wayof example. The GOP in VOBU comprises an I-picture and B-pictures andthe continuation of this data is divided into video packs. Next, adescription is given of a data unit when multi-angle information isrecorded and reproduced. When multiple scenes that differ in point ofview for a subject are recorded on an optical disk, an interleaved-blockportion is built on recording tracks to perform seamless playback. Inthe interleaved block portion, multiple video objects (VOB) that differin angle are each divided into multiple interleaved units. Theinterleaved units are recorded in such an arrangement as allows seemsplayback. Multiple stories may be multiplexed on a time division basis.In the description, all of the divided blocks were termed cells. Next, adescription will be given of the interleaved units and managementinformation used for playing back the interleaved units.

FIG. 8 shows video title set information (VTSI) in video title set(VTS). A video title set program chain information table (VTS_PGCIT) isdescribed in the video title set information (VTSI). Thus, when a videoobject set (VOBS) in one video title set (VTS) is played back, a programchain is utilized which is specified by the producer or selected by theuser from multiple program chains presented in the video title setprogram chain information table (VTS_PGCIT). In the VTSI, the followingdata are further described. VTSI_MAT is a video title set informationmanagement table, in which what kinds of information are present in thisvideo title set and the starting and ending addresses of each item ofinformation are described. VTS_PTT_SRPT is a video title setpart-of-title search pointer table, in which entry points of titles andthe like are described. VTSM_PGCI_UT is a video title set menu programchain information unit table, in which a menu of video title sets isdescribed in various languages. Thus, the menu allows the user todetermine what kind of video title set is described and what style oforder playback can be performed in. VTS_TMAPT is a video title set timemap table, in which information on the recorded position of each VOBU isdescribed which is managed within each program chain and indicated atregular intervals of seconds. It is to be noted that the video title settime map table VTS_MAPT is optional, for example it will be empty inhome recorded discs. Hence this table cannot be used for derivingfurther speed pointers. VTSM_C_ADT is a video tile set menu cell addresstable, in which the starting and ending address of each cell comprisingthe video title set menu and the like are described. VTSM_VOBU_ADMAP isa video title set menu video object unit address map, in which thestarting addresses of menu video object units are described. VTS_C_ADTis a video title set cell address table, in which cell addressinformation is described. When a program chain is selected in theplayback apparatus, the order of playing back cells is set by thatchain. In playback, NV_PCK included in the video object unit is referredto. NV_PCK has information for controlling display contents and displaytiming and information for data search. Thus, the retrieval and decodingof V_PCK are performed on the basis of information in the NV_PCK table.In addition, another pack is retrieved and decoded, in which case A_PCKand SP_PCK in a language specified by the producer or user areretrieved.

FIG. 9 shows the contents of the video title set program chaininformation table (VTS_PGCIT). In this table are described video titleset PGCI table information (VTS_PGCITI), search pointers (VTS_PGCI_SRP#1to #n) for video title set program chain information, and specificprogram chain information (VTS_PGCI). In (VTS_PGCITI) are described thenumber of search pointers and the ending address of this table. In(VTS_PGCI_SRP#1 to #n) are described, as the category of the video tileset program chain, the number of titles in a video title set thatbecomes a target, whether the program chain ends with one block orcontinues into a chain in another block, etc. In addition, the startingaddress of the video title set program chain is described in terms ofthe relative address to the starting position of this table.

FIG. 10 describes the contents of program chain information (PGCI). ThePGCI contains program chain general information (PGCI_GI), a programchain command table (PGC_CMDT), a program chain program map (PGC_PGMAP),cell playback information (C_PBI), and cell position information table(C_POSIT). In the PGCI_GI are described the number of programs and thenumber of cells for this program chain (this information is called PGCcontents (PGC_CNT)). In addition, all the playback times that theprogram chain intends are shown (this information is called PGC playbacktime (PGC_PB_TM)). Moreover, a code of whether a program played back bythis program chain allows user operation, for example, whether theswitching of angles is possible, is described (this information iscalled PGC user operation control (PGC_UPR_CTL)). Furthermore, codes ofwhether audio streams can be switched and what type of audio stream(e.g. linear PCM, AC-3, MPEG or the like) can be switched into are alsodescribed (this information is called PFC audio stream control table(PGC_AST_CTLI). In addition, codes of whether subvideos can be switchedand what type of subvideo (e.g., a different aspect ratio) can beswitched into are described (this information is called PGC subvideostream control table (PGC_SPST_CTLT). Moreover, in this PGCI_GI, thenext program chain number and the previous program chain number are alsodescribed. Furthermore, whether the program intended by this programchain is intended for continuous playback, random playback, or shuffleplayback is also described (this information called PGC navigationcontrol (PGC_NV_CTL). In addition, color specification is performed toindicate what colors subvideo is to be displayed in (this information iscalled PGC subvideo palette (PGC_SP_PLI)). Also, the starting address ofthe program chain command table (PGC_CMDT_SA), the starting address ofthe program chain program map (PGC_PGMAP_SA), the starting address ofthe cell playback information table (C_PBIT_SA) and the starting addressof cell position information (C_POSI_SA) are described. In the programchain command table are described the pre-commands and post-commands ofthe program chain and cell commands. The pre-commands are ones to beprocessed prior to the execution of the program chain and thepost-commands are ones to be processed after the execution of theprogram chain. The pre-commands and post-commands are used to define thevideo title, the reproduced state of audio, and the reproduced stream onthe basis of commands or parameters decided in advance on the playerside or the disk producer side. The cell commands are ones to beprocessed subsequent to the execution of playback processing of cells.In the starting address of the program chain program map (PGC_PGMAP),the structure of a program for which the program chain is intended isindicated and entry cell numbers of an existing program are described.In the cell playback information table (C_PBIT) is described informationindicating the order of playing back cells for which the program chainis intended.

FIG. 11 shows cell playback information (C_PBIT) and its contents. TheC_CAT is cell attribute information and indicates the mode of a cellblock. The mode of a cell block indicates whether the cell is the firstone or the last one. Also included are information as to whetherseamless playback is to be performed, information as to whether the cellblock is among interleaved blocks, and information about seamless angleswitching. The information about seamless angle switching indicates thatthe angle switching can be made either seamlessly or non-seamlessly.C_PBTM indicates the cell playback time, C_FVOBU_SA the starting addressof the first video object unit (VOBU) of the cell, C_ILVU_EA the endingaddress of the first interleaved unit (ILVU) of the cell, C_FVOBU_SA thestarting address of the last video object unit (VOBU) of the cell, andC_FVOBU_EA the ending address of the last video object unit (VOBU) ofthe cell. The addresses are described in terms of logical block numbersrelative to the first logical block of VOBS to which the cell belongs.By referring to the cell playback information, a determination can bemade of whether the current playback state reaches the end of a cell.When the next cell is played back the next cell playback information inthe cell playback information table is referred to determine thestarting address of the first VOBU of the next cell (or interleavedunit).

FIG. 12 shows the contents of the cell position information table(C_PSIT). The cell position information includes the ID number of avideo object (C_VOB_IDN) in which the cell is contained and the cell IDnumber (C_IDN) of the cell. As described above, the managementinformation describes cell playback information, in which there is cellattribute information indicating whether interleaved units for multipleangles or the like have been recorded. When a multi-angle video or amulti-story video is recorded, the playback apparatus needs to switchfrom the angle being played back to the other or switch from the storybeing played back to the other according to user's operation. In thiscase, the playback apparatus responds to the user's operation on thebasis of the following information. First, the structure of a pack willbe described.

FIG. 13 shows the formats of one pack and one packet. One pack comprisesa pack header and a packet. In the packet header are described a packstart code, a system clock reference (SCR), etc. The pack start code isone indicating the beginning of the pack, and the system clock reference(SCR) is information indicating to the entire playback apparatus thereference time in the playback elapsed time. One pack is 2048 bits longand defined and recorded as one logical block on an optical disk. Onepacket comprises a packet header and video data or audio data orsubpicture data, or navigation data. Stuffing may be provided in thepacket header. Padding may be provided in the data division of thepacket.

FIG. 14 shows the NV_PCK (see FIG. 5). The NV_PCK includes a picturecontrol information (PCI) packet basically adapted to control displaypictures and a data search information (DSI) packet existing in the samevideo object. In each packet are described a pack header and a substreamID, followed by data. In each pack header is described a stream ID,indicating NV_PCK. The substream ID is used to distinguish between PCIand DSI. In each pack header are described a packet start code, a streamID and the packet length, followed by data. The PCI packet is navigationdata for changing display contents synchronously with the playback ofvideo data in a video object unit (VOBU) to which the NV packet belongs.In the PCI packet are described PCI general information (PCI_GI) that isgeneral information, non-seamless angle information (NSML_ANGLI),highlight information (HLI) and recording information (RECI) that isrecorded information. In the PCI_GI is described PCI generalinformation, which includes: the logical block number (NV_PCK_LBN) thatis the address of the navigation pack, the video object unit category(VOBU_CAT) indicating the attribute of a video object unit (VOBU)managed by the PCI, the user operation control (VOBU_UPO_CTL) that isuser operation inhibit information in the display period of the videoobject unit managed by the PCI, the video object unit display startingtime (VOBU_S_PTM), and the video object unit display ending time(VOBU_E_PTM). The first picture specified by the VOBU_S_PTM is anI-picture in the MPEG standards. Further, video object unit sequence endpresentation time (VOBU_SE_E_PTM) indicating the display time of thelast video in the video object unit, the cell elapsed time (C_EITM)indicating the display elapsed time relative to the first video frame ina cell and so on are also described. The NSML_ANGL indicates thedestination address when an angle change is made. That is, the videoobject unit includes pictures shot from different angles. The address ofa VOBU is described to which a transition is made for the next playbackwhen the display of pictures shot from a different angle from thecurrent one is specified by the user. The HLI is information forspecifying a specific rectangular area on the screen and changing thebrightness of that area or the color of subvideo displayed therein. Theinformation includes highlight general information (HL_GI), a buttoncolor information table (BTN_COLIT) used when the user makes a selectionamong buttons for color selection, and button information table (BTNIT)for select buttons. The RECI is information about video, audio andsubpicture recorded in the video object unit, each item of informationdescribing what data to be decoded is like. For example, a country code,a copyright owner code and the date of recording are included. The DSIpacket is navigation data for making a search for a video object unit.In the DSI packet are described DSI general information (DSI_GI),seamless playback information (SML_PBI), seamless angle information(SML_AGLI), video object unit search information (VOBU_SRI), and syncinformation (SYNCI).

As shown in FIG. 15, in the DSI_GI is described the followinginformation: a system clock reference indicating the reference time forstarting decoding the NV_PCK (NV_PCK_SCR), the logical address of theNV_PCK (NV_PCK_LBN), the ending address of the video object unit towhich the NV_PCK belongs (VOBU_EA), the ending address of the firstreference picture (I-picture) to be decoded first (VOBU-1STREF-EA), theending address of the second reference picture (P-picture) to be decodedfirst (VOBU-2NDREF_EA), the ending address of the third referencepicture (B-picture) to be decoded first (VOBU_(—)3RDREF_EA), the IDnumber of the VOB to which the DSI belongs (VOBU_VOB_IDN), the ID numberof the cell to which the DSI belongs (VOBU_C_IDN), and the cell elapsedtime indicating the elapsed time relative to the first video frame inthe cell (C_E1TM).

As shown in FIG. 16, in the SML_PBI is described the followinginformation: video object unit seamless category indicating whether theVOBU to which the DSI belongs is an interleaved unit (ILVU) or apre-unit (PREU) that is the criterion for indicating the connectionbetween video objects, the ending address of the interleaved unit(ILVU_EA), the starting address of the next interleaved unit (ILVU_SA),the size of the next interleaved unit (ILVU_SZ), the video displaystarting time in the video object (VOB) (VOB_V_S_PTM), the video displayending time in the video object (VOB) (VOB_V_E_PTM), the audio stoppingtime in the video object (VOB) (VOB_A_STP_PTM), and the audio gap lengthin the video object (VOB) (VOB_A_GAP_LEN). The pre-unit (PREU) is thelast unit in a BOVU immediately before the interleaved unit. In thevideo object unit seamless, category (VOBU_SML_CAD are further describeda flag indicating whether or not the interleaved unit is one at thestarting time and a flag indicating whether the interleaved unit is oneat the ending time.

FIG. 17 shows the contents of the seamless angle information (SML_GLI).C1 to C9 indicate the number of angles. Even if a maximum of nine anglesexists, the addresses and sizes of their destination interleaved unitscan be indicated. That is, the addresses and sizes (SML_ADL_Cn_DSTA)(n=1 to 9) of interleaved units that are destinations for the respectiveangles are described. When the user performs an operation of changingthe angle while watching video, this operation information is referencedto, thereby allowing the playback apparatus to recognize the playbackposition of the next interleaved unit.

FIG. 18 shows VOBU search information (VOBU_SRI) which is referenced toat the time of special playback, etc. The information describes thestarting addresses of VOBUs (0.5×n) seconds before and after thestarting time of the current video object unit (VOBU). That is, thestarting address of each of +1, +20, +60, +120 and +240 VOBUs as forwardaddresses (FWDIn) and a flag that a video pack is present in the unitare described according to the order of playback with the VOBUcontaining the DSI being referenced to. The starting address isdescribed in terms of the number of logical sectors relative to theleading logical sector in the VOBU. The use of this information permitsVOBUs the user wants to play back to be selected optionally.

The above-described management information is described for an opticaldisk. The system controller of the playback system makes a reference tothe program chain information in the video manager to thereby acquirecell playback information. Hence the cell playback order is known fromthe Program Chain Information (PGCI). According to the invention therendering device as shown in FIG. 2 comprises speed means forreproducing the real time information at a speed different from the realtime speed, and calculation means for calculating speed pointers inaddition to local speed pointers available within the real timeinformation data stream.

FIG. 19 shows the calculation of average time per unit. In the playbacksystem the cell playback order is known at the START node 200. In afirst step 201 READ_CELL_INFO a cell playback information table (C-PBIT,see FIG. 11) is retrieved. From this table addresses of the first unit(C_FVOBU_SA) and the last unit (C_FVOBU_SA) within that cell and itsplayback time are read. In a second step 202 READ_ADR_MAP the unitaddress map (VTS_VOBU_ADMAP, see FIG. 8) is retrieved. This map includesthe addresses of the sequence of units constituting the video program asconsecutively stored on the record carrier. In a third step 203 CALC_NUMthe number of units within the cell is calculated. To this end theposition of the addresses of said first and last unit in the unitaddress map is determined, e.g. by a lookup procedure of the addresseswithin the address map. From the position in the map the number ofintermediate units NIU is easily determined, e.g. if an entry of oneunit in the map requires n bytes, the number NIU equals the differencebetween said last and first position divided by n. In a fourth step 204CALC_AT the average time per unit ATU is calculated as follows. Theplaying time of the cell (C_PBTM) is known from the cell playbackinformation table (C-PBIT). The value for ATU follows from dividing thecell playback time C_PBTM by the number of units NIU. Finally one ormore speed pointers are determined for specific required time jumps bycalculating the amount of units to be jumped. The amount of units is therequired time jump divided by the average playing time ATU. Then thetarget unit is known and its address is taken from the address mapVTS_VOBU_ADMAP. At step 205 JUMP a jump to the target unit is made, andthe target unit is displayed. Further it is decided if the speed ofreproduction is does require further speed pointers or if the speed ofreproduction is within the range that can be handled with the availablespeed pointers. If so, then in step 207 PLAYBACK the required playbackmode is entered, e.g. after a time search procedure.

In a second embodiment of the calculation unit the speed pointers arecalculated as follows. In step 204 CALC_AT the average time per unit ATUis calculated by determining the remaining playing time of the cell byreading the cell elapsed playing time (C_ELTM, see FIG. 15) from theunit currently rendered and subtracting the elapsed time from the cellplaying time. Also the remaining number of units NIU is determined bylocating the start address of the current unit in the address mapVTS_VOBU_ADMAP. Using the actual remaining time gives a more accurateestimate of the average playing time ATU.

In a third embodiment of the calculation unit the speed pointers arecalculated as follows. At the step 205 JUMP after the jump has been madeand the target unit is being rendered, it is detected that the speedmode again requires speed pointers. Now the step 204 is executed againas described in the second embodiment above. In an embodiment of thecalculation unit speed error compensation is calculated as follows.After a jump in step 205 based on a calculated speed pointer, in a step206 ERROR_COMP the actual playing time is derived from the cell elapsedplaying time (C_ELTM). It is noted that an error in speed may occur dueto the difference of the actual playing time of the units and theestimated average playing time. The required playing time at that jumplocation is known from the speed that has been selected. The error intime T_ERR between the required and the actual playing time is detected,e.g. calculated by subtracting. The speed error T_ERR can be compensatedin several ways, for example by displaying the video fragmentrepresented by the target unit for a longer or shorter time independence upon the error. Also the next number of unit to be jumped canbe made dependent upon the speed error T_ERR for compensating the error,e.g. by effectively setting the speed somewhat higher, i.e. resulting ina higher number of units to be jumped in the next jump.

Although the invention has been explained by embodiments using theDVD-video format, it may be applied for any format for real-time datarequiring non-causal control data to be written multiplexed within thereal-time data itself. Also for the information carrier an optical dischas been described, but other media, such as a magnetic disc or tape,may be used. It is noted, that in this document the word ‘comprising’does not exclude the presence of other elements or steps than thoselisted and the word ‘a’ or ‘an’ preceding an element does not excludethe presence of a plurality of such elements, that any reference signsdo not limit the scope of the claims, that the invention may beimplemented by means of both hardware and software, and that several‘means’ may be represented by the same item of hardware. Further, thescope of the invention is not limited to the embodiments, and theinvention lies in each and every novel feature or combination offeatures described above.

1. Device for rendering real time information from a record carrier,which device comprises read means (22, 27, 28) for retrieving the realtime information and playback parameters related thereto from a track onthe record carrier, and speed means (31) for rendering the real timeinformation at a speed different from the real time speed based on speedpointers, which real time information is subdivided into units (VOBU), anumber of consecutive units constituting a cell and local playbackparameters being included in the units, which local playback parameterscomprise speed pointers (VOBU₁₃SRI) to units located at a forward and/orbackward distance relative to the unit in which the pointers areincluded, characterized in that the speed means (31) comprisecalculation means (32) for calculating at least one further speedpointer based on estimating the playback time of the units by retrievingcell playback information (C-PBIT) that includes the addresses of thefirst unit and the last unit within the cell and a cell playback time,retrieving a unit address map (VTS-VOBU-ADMAP) that includes theaddresses of a consecutive sequence of units, determining a number ofunits within the cell by determining a position of the addresses of saidfirst and last unit in the unit address map, and dividing the cellplayback time by the number of units.
 2. Device as claimed in claim 1,wherein the speed means are arranged for using the speed pointersincluded in the local playback parameters for jumping to distances intime up to a predefined value and for using the further speed pointerfor jumping a larger distance in time.
 3. Device as claimed in claim 1,wherein the speed means are arranged for detecting for which maximumlocal jump distance a local speed pointer is available and using thelocal speed pointers for jumping distances up to the maximum local jumpdistance.
 4. Device as claimed in claim 1, wherein the speed means arearranged for detecting a cell boundary and for using the further speedpointer for jumping a distance in time across said cell boundary. 5.Device as claimed in claim 1, wherein the calculation means are arrangedfor adjusting said estimated playback time of the units by retrieving acurrent cell time (C₁₃ELTM) from the unit being currently rendered,calculating the remaining cell playback time from the cell playback timeand the current cell time, and calculating a remaining number of unitswithin the cell and dividing the remaining cell playback time by theremaining number of units.
 6. Device as claimed in claim 1, wherein thespeed means are arranged for detecting a speed error by comparing acurrent cell time (C₁₃ELTM) from the unit being retrieved after a jumpand a target time based on a required speed, and for compensating thespeed error.
 7. Device as claimed in claim 6, wherein the speed meansare arranged for adjusting the number of units for a next jump or thedisplay time of a fragment of real time information for compensating thespeed error.
 8. Method of rendering real time information, which methodcomprises controlling the speed of rendering the real time informationto a speed different from the real time speed based on speed pointers,which real time information comprises playback parameters relatedthereto and is subdivided into units (VOBU), a number of consecutiveunits constituting a cell and local playback parameters being includedin the units, which local playback parameters comprise speed pointers(VOBU_SRI) to units located at a forward and/or backward distancerelative to the unit in which the pointers are included, characterizedin that the method comprises calculating at least one further speedpointer based on estimating the playback time of the units by retrievingcell playback information (C-PBIT) that includes the addresses of thefirst unit and the last unit within the cell and a cell playback time,retrieving a unit address map (VTS-VOBU-ADMAP) that includes theaddresses of a consecutive sequence of units, determining a number ofunits within the cell by determining a position of the addresses of saidfirst and last unit in the unit address map, and dividing the cellplayback time by the number of units.